package com.bicon.botu.mall.order.processor.fallback;

import com.bicon.botu.core.base.common.Constants;
import com.bicon.botu.core.base.common.entity.BaseResult;
import com.bicon.botu.core.base.common.utils.JsonUtil;
import com.bicon.botu.mall.order.dto.OrderVerifyDto;
import com.bicon.botu.mall.order.processor.handler.ProductRepertoryRpc;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * RPC降级
 * @author 李双喜
 * @date 2018/5/14 17:44
 */
@Component
public class ProductRepertoryFallBack implements ProductRepertoryRpc {
    /**
     * 根据多个库存id，查询商品库存信息
     *
     * @param productRepertoryIdList  多个商品库存id
     * @return
     */
    @Override
    public String selectProductRepertory(String[] productRepertoryIdList) {
        return JsonUtil.toJson(new BaseResult(Constants.RESPONSE_CODE_404, Constants.RESPONSE_MESSAGE_404));
    }
    /**
     * 根据多个库存商品校验全部商品是否有库存
     *
     * @param verifyDtoListJson 多个商品信息
     * @return
     */
    @Override
    public String verifyProduct(String verifyDtoListJson) {
        return JsonUtil.toJson(new BaseResult(Constants.RESPONSE_CODE_404, Constants.RESPONSE_MESSAGE_404));
    }

    @Override
    public String selectProductById(String id) {
        return JsonUtil.toJson(new BaseResult(Constants.RESPONSE_CODE_404, Constants.RESPONSE_MESSAGE_404));
    }

    /**
     * 根据商品库存ID回退商品库存数量
     *
     * @param num 数量
     * @param id  id
     * @return
     */
    @Override
    public BaseResult rollbackById(Integer num, String id) {
        return new BaseResult(Constants.RESPONSE_CODE_404, Constants.RESPONSE_MESSAGE_404);
    }

    /**
     * 根据商品库存ID回退商品库存数量
     *
     * @param num 数量
     * @param id  id
     * @return
     */
    @Override
    public BaseResult addSalesById(Integer num, String id) {
        return new BaseResult(Constants.RESPONSE_CODE_404, Constants.RESPONSE_MESSAGE_404);
    }

    /**
     * 添加销量
     *
     * @param verifyDtoListJson
     * @return
     */
    @Override
    public BaseResult addSales(String verifyDtoListJson) {
        return new BaseResult(Constants.RESPONSE_CODE_404, Constants.RESPONSE_MESSAGE_404);
    }

    /**
     * 回退商品数量
     *
     * @param verifyDtoListJson
     * @return
     */
    @Override
    public BaseResult rollbackNum(String verifyDtoListJson) {
        return new BaseResult(Constants.RESPONSE_CODE_404, Constants.RESPONSE_MESSAGE_404);
    }


//    /**
//     * 根据多个商品减少库存
//     *
//     * @param verifyDtoList  多个商品信息
//     * @return
//     */
//
//    @Override
//    public String reduceProduct(List<OrderVerifyDto> verifyDtoList) {
//        return JsonUtil.toJson(new BaseResult(Constants.RESPONSE_CODE_404, Constants.RESPONSE_MESSAGE_404));
//    }
}
